package com.glory.erp.auth.menu.service;

import java.util.List;

import org.springframework.transaction.annotation.Transactional;

import com.glory.erp.auth.menu.bean.Menu;
import com.glory.erp.auth.base.BaseService;

@Transactional
public interface MenuService extends BaseService<Menu>{

	/**
	 * @Description: 获取系统菜单和所有的一级菜单
	 * @Title: findAllOneLevel	
	 * @Author: 樊双峰
	 * @Param: @return
	 * @return: List<Menu>
	 * @Date: 2018年5月24日 下午10:46:11
	 * @throws   
	 */
	public List<Menu> findAllOneLevel();

	/**
	 * @Description: 添加菜单 并添加角色
	 * @Title: save
	 * @Author: 樊双峰
	 * @Param: @param menu
	 * @Param: @param roleUuids
	 * @return: void
	 * @Date: 2018年5月25日 上午12:30:53
	 * @throws   
	 */
	public void save(Menu menu, Long[] roleUuids);

	/**
	 * @Description: 修改菜单 并修改角色
	 * @Title: update
	 * @Author: 樊双峰
	 * @Param: @param menu
	 * @Param: @param roleUuids
	 * @return: void
	 * @Date: 2018年5月25日 上午12:31:40
	 * @throws   
	 */
	public void update(Menu menu, Long[] roleUuids);

	/**
	 * @Description: 根据登录人获取对应的一级菜单
	 * @Title: findAllOneLevelByEmp
	 * @Author: 樊双峰
	 * @Param: @param uuid
	 * @Param: @return
	 * @return: List<Menu>
	 * @Date: 2018年5月26日 上午12:16:34
	 * @throws   
	 */
	public List<Menu> findAllOneLevelByEmp(Long uuid);

	/**
	 * @Description: 获取指定员工对应的指定一级菜单可操作的二级菜单
	 * @Title: findByEmpAndPuuid
	 * @Author: 樊双峰
	 * @Param: @param uuid
	 * @Param: @param puuid
	 * @Param: @return
	 * @return: List<Menu>
	 * @Date: 2018年5月26日 上午12:51:23
	 * @throws   
	 */
	public List<Menu> findByEmpAndPuuid(Long uuid, Long puuid);
}